﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using Entities;
using Microsoft.ApplicationBlocks.Data;

namespace DAL
{
    public class UsuarioTipoDAL
    {

        public static string strConexion = System.Configuration.ConfigurationManager.ConnectionStrings["ConexionBaseDesarrollo"].ConnectionString;

        public static long Nuevo(UsuarioTipo parUsuarioNegocioCargo)
        {
            long intRetorno = 0;
            //TODO FALTA LA PARTE DEL INCERT
            //parUsuarioNegocioCargo.Nombre
            return intRetorno;
        }

        public static void Modificar(UsuarioTipo parUsuarioNegocioCargo)
        {
            //TODO FALTA LA modificar el nombre del cargo
            //parUsuarioNegocioCargo.Nombre
        }

        public static void Eliminar(long parIDUsuarioNegocioCargo)
        {
            //TODO FALTA LA PARTE DEL delieminar el cargo
        }

        public static UsuarioTipo BuscarUno(long parIDUsuarioTipo)
        {
            try
            {
                DataTable dt = new DataTable();
                dt = SqlHelper.ExecuteDataset(strConexion, "sUsuarioTipoBuscarUno", parIDUsuarioTipo).Tables[0]; 
                if (dt.Rows.Count > 0)
                {
                    UsuarioTipo oUsuarioTipo = new UsuarioTipo();
                    DataRow dr = dt.Rows[0];
                    oUsuarioTipo.IDUsuarioTipo = long.Parse(dr["IDUsuarioTipo"].ToString());
                    oUsuarioTipo.Nombre = dr["Nombre"].ToString();
                    return oUsuarioTipo;
                }
                //sino retorna Null
                else
                {
                    return null;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

        public static List<UsuarioTipo> BuscarVarios(string parNombreCargo)
        {
            try
            {
                List<UsuarioTipo> ListaUsuariosNegocioCargo = new List<UsuarioTipo>();
                DataTable dt = new DataTable();
                //Falta la parte que busca el negocio del sp
                //Si encontro retorna el objeto Negocio
                if (dt.Rows.Count > 0)
                {
                    //Va cargando los cargos uno a uno.
                    foreach (DataRow dr in dt.Rows)
                    {
                        UsuarioTipo oUsuarioNegocioCargo = new UsuarioTipo();
                        oUsuarioNegocioCargo.IDUsuarioTipo = long.Parse(dr["IDUsuarioTipo"].ToString());
                        oUsuarioNegocioCargo.Nombre = dr["Nombre"].ToString();
                        ListaUsuariosNegocioCargo.Add(oUsuarioNegocioCargo);
                    }
                    return ListaUsuariosNegocioCargo;
                }
                //sino retorna Null
                else
                {
                    return null;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
    }
}
